/*
* Project: VD Kit
* Module: Kit File merge
* File: scripts.c
* Created Date: 2024-06-01 17:15:03
* Author: your name
* Description: description
*
*历史记录：
*
* Copyright (c) 2024 - vDiscovery, Inc
*/


/* ======================================================================================
* includes
* 添加头文件位置
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <dirent.h>
#include <sys/stat.h>

#include "core.h"
#include "log.h"


/* ======================================================================================
* macros
* 宏定义位置
*/


/* ======================================================================================
* log
* log标志位置
*/



/* ======================================================================================
* extern
* 外部定义变量或函数位置
*/


/* ======================================================================================
* declaration
* 函数声明位置
*/


/* ======================================================================================
* types
* 类型定义位置
*/


/* ======================================================================================
* globals
* 全局变量位置
*/


/* ======================================================================================
* private implementation
* 本模块私有函数位置
*/


/* ======================================================================================
* implementation
* 本模块对外函数位置
*/

/**
 * @brief 检查python3是否存在
 *
 * @return int
*/
int scripts_check_python3_exist(void)
{
    FILE *fp;
    int ret = 0;
    char tmp_str[MAX_STR_LEN] = {0};

    memset(tmp_str, 0, MAX_STR_LEN);

    ret = system("python3 --version");
    if( ret == 0)
    {
        /* python3命令可用的话直接运行python3*/
        ret = system("python3 ./rename_file.py");
        if( ret != 0 )
        {
            log_error("运行python脚本出错\n");
            return -1;
        }
    }
    else
    {
        /* python3命令不可用的话检查python版本*/
        fp = popen("python --version", "r");
        if (fp == NULL) {
            log_error("获取python版本错误\n");
            return -1;
        }

        fgets(tmp_str, sizeof(tmp_str), fp);

        pclose(fp);

        if (strstr(tmp_str, "Python 3") != NULL)
        {
            ret = system("python ./rename_file.py");
            if( ret != 0 )
            {
                log_error("运行python脚本出错\n");
                return -1;
            }
            memset(tmp_str, 0, MAX_STR_LEN);
        }
        else
        {
            printf("当前环境非python3 \n");
            return -1;
        }
    }

    return 0;
}